1
Logic Dựa trên Trạng thái trong Dòng Dữ liệu
AI037Lesson 2
00:00

Trong C++, các luồng dữ liệu không chỉ đơn thuần là ống dẫn; chúng là các thực thể có trạng thái. Đánh giá một đối tượng istream như std::cin dưới dạng điều kiện logic cho phép chương trình của chúng ta thích nghi với nhịp độ không thể đoán trước từ đầu vào người dùng hoặc tệp ngoài.

1. Luồng như một Giá trị Đúng/Sai

Khi chúng ta sử dụng if (std::cin >> val), biểu thức sẽ trả về đúng chỉ khi luồng vẫn hợp lệ. Nếu nó gặp phải Kết thúc tập tin (EOF) hoặc gặp loại dữ liệu không hợp lệ, nó sẽ chuyển sang trạng thái "thất bại", trả về sai.

2. Cọc Định vị & Thiết bị Quét

Để theo dõi sự thay đổi dữ liệu, chúng ta xác định currVal (cọc định vị trạng thái của chúng ta) và val (thiết bị quét hoạt động của chúng ta). Logic dựa trên việc so sánh thiết bị quét đến với cọc định vị. Sự khác biệt sẽ kích hoạt báo cáo "thay đổi trạng thái", giúp chúng ta xử lý dữ liệu vô hạn với bộ nhớ tối thiểu.

cin >> currValwhile(cin >> val)SaiEOF / Thất bại

3. Các Thao tác Đọc Nhiều

C++ cho phép nối chuỗi các thao tác đọc luồng: cin >> i >> j;. Điều này đọc giá trị đầu tiên vào i và giá trị thứ hai vào j, cung cấp một cách ngắn gọn để nhập các bản ghi phức tạp.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>